const USET_CAT_KEY = 'TDKP-USET-CAT';
const USET_CAT_LIST = 'USET_CAT_LIST';
const USET_CAT_SEND = 'USET_CAT_SEND';
/**
 * 获取产品
 */

export function get() {
    return uni.getStorageSync(USET_CAT_KEY) || [];
}
/**
 * 设置产品
 */

export function setALL(data) {
    return uni.setStorageSync(USET_CAT_KEY, data);
}
/**
 * 设置产品
 */

export function set(data) {
    var cat = this.get();
    cat.push(data);
    let result = handleData(cat);
    console.log(result);
    return uni.setStorageSync(USET_CAT_KEY, result);
}

function handleData(data) {
    let hashData = {};
    data.forEach((element) => {
        let node = hashData[element.price_id];

        if (!node) {
            //判断是否有该节点
            hashData[element.price_id] = element;
        } else {
            node.num += element.num;
        }
    });
    let result = [];
    Object.keys(hashData).forEach((key) => {
        //遍历id生成数组对象
        result.push(hashData[key]);
    });
    return result;
}
/**
 * 删除指定产品
 */

export function del(index) {
    var cat = this.get();
    const newCat = cat.filter((item) => item.price_id != index);
    console.log('newCat', newCat);
    return uni.setStorageSync(USET_CAT_KEY, newCat);
}
/**
 * 删除全部产品
 */

export function delAll() {
    uni.removeStorageSync(USET_CAT_KEY);
}
export function getNumPirce() {
    var num = 0;
    var price = 0;
    this.get().forEach((value) => {
        if (this.getNewList().includes(String(value.price_id))) {
            num += value.num - 0;
            price += value.store_price * value.num;
        }
    });
    return {
        num: num,
        price: price.toFixed(2)
    };
} // 选中的数组
// 获取

export function getNewList() {
    return uni.getStorageSync(USET_CAT_LIST) || [];
} // 设置

export function setNewList(data) {
    return uni.setStorageSync(USET_CAT_LIST, data);
} // 删除

export function delNewList() {
    return uni.removeStorageSync(USET_CAT_LIST);
}
export function getIsSend() {
    return uni.getStorageSync(USET_CAT_SEND) || [];
}
export function setIsSend(data) {
    return uni.setStorageSync(USET_CAT_SEND, data);
}
export function delIsSend() {
    return uni.removeStorageSync(USET_CAT_SEND);
}
